package com.yun.dz.dao;

import org.apache.commons.dbcp2.BasicDataSource;

import javax.sql.DataSource;

public class DBCPDataSource {
    // 1、设置静态私有变量
    private static DataSource dataSource = null;
    // 2、将构造方法私有化

    private DBCPDataSource() {
    }
    // 3、提供静态的获取静态变量值的方法入口
    public static DataSource getDataSource(){
        // 是否是第一次进行访问，如果是，则需要对私有静态变量dataSource进行初始化处理
        if(dataSource == null){
            // 初始化dataSource变量的值
            BasicDataSource dbcpDataSource = new BasicDataSource();
            dbcpDataSource.setUrl("jdbc:mysql://localhost:3306/jsp_first?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useUnicode=true&useSSL=false");
            dbcpDataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
            dbcpDataSource.setUsername("root");
            dbcpDataSource.setPassword("lL123456789");

            dbcpDataSource.setDefaultAutoCommit(true);
            //dbcpDataSource.setMaxActive(100);
            dbcpDataSource.setMaxIdle(30);
            //dbcpDataSource.setMaxWait(500);
            dataSource = (DataSource)dbcpDataSource;

        }
        return dataSource;
    }
}